#include<iostream>
using namespace std;
#include<string>
#include<vector>

//class Solution {
//public:
//    string addStrings(string num1, string num2) {
//        int end1 = num1.size() - 1;
//        int end2 = num2.size() - 1;
//        int flag = 0;
//        string ret;
//        if (num1 == "0" && num2 == "0")
//        {
//            ret += "0";
//            return ret;
//        }
//        while (end1 != -1 && end2 != -1)
//        {
//            int num = (num1[end1] - '0') + (num2[end2] - '0') + flag;
//            flag = 0;
//            if (num >= 10)
//            {
//                flag = 1;
//                num -= 10;
//            }
//            ret.insert(ret.begin(), num + '0');
//            end1--;
//            end2--;
//        }
//        if (end1 != end2)
//        {
//            if (end1 == -1)
//            {
//                while (end2 >= 0)
//                {
//                    int nums = (num2[end2--] - '0') + flag;
//                    flag = 0;
//                    if (nums >= 10)
//                    {
//                        flag = 1;
//                        nums -= 10;
//                    }
//                    ret.insert(ret.begin(), nums + '0');
//                }
//            }
//            if (end2 == -1)
//            {
//                while (end1 >= 0)
//                {
//                    int nums = (num1[end1--] - '0') + flag;
//                    flag = 0;
//                    if (nums >= 10)
//                    {
//                        flag = 1;
//                        nums -= 10;
//                    }
//                    ret.insert(ret.begin(), nums + '0');
//                }
//                if (flag == 1)
//                {
//                    ret.insert(ret.begin(), '1');
//                }
//            }
//        }
//        else
//        {
//            if (flag == 1)
//            {
//                ret.insert(ret.begin(), '1');
//            }
//        }
//        return ret;
//    }
//};

/*class Solution {
public:
    void swap(char& x, char& y)
    {
        char tmp = x;
        x = y;
        y = tmp;
    }

    void reverseString(vector<char>& s) 
    {
        int beg = 0;
        int end = s.size() - 1;
        while (beg < end)
        {
            swap(s[beg++], s[end--]);
        }
    }
}*/;


//class Solution {
//public:
//    int firstUniqChar(string s) {
//        string s1(s);
//        char buff;
//        int i = 0;
//        int flag = 0;
//        while (i < s.size())
//        {
//            s1 = s;
//            flag = 0;
//            buff = s1[i];
//            s1.erase(i, 1);
//            for (auto ch : s1)
//            {
//                if (buff == ch)
//                {
//                    i++;
//                    flag = 1;
//                    break;
//                }
//            }
//            if (flag == 0)
//            {
//                return i;
//            }
//        }
//        return -1;
//    }
//};

class Solution {
public:
    int lastWordLen(string s){
        int i = 0;
        int ret = 0;
        for (i = 0; i < s.size(); i++)
        {
            ret++;
            if (s[i] == ' ')
                ret = 0;
        }
        return ret;
    }
};

int main() {
    Solution s;
    string s1;
    while(1)
    {
        cin >> s1;
        if (cin.get() == '\n')
            break;
    }
    cout << (s.lastWordLen(s1)) << endl;
}